From 04bacf3e97967f77ef5d947bb67e4e3b23cfc47c Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 19 Dec 2025 17:38:12 +0000 Subject: [PATCH 001/114] 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 002/114] 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 003/114] 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 004/114] 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 005/114] 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 006/114] 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 007/114] 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 008/114] 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 009/114] 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 zcmb2|=3oGW|4--qE_-~fv|W+uLFjZz>wVWdjb9%171locWzs6&?CLq4mv5~L_P_M+ zIP1g(9Xy^J6ihbVxyt^c`-|nR<1cQ1VR+E5($IYW-YgH}#T%~&sR`N7yZ!Inv6~N; zzPGSF9_@O+W!+ONezNVL2Gv+nD)RqtnHqcp?U}9(+V&Km8j4v@N zyX_}4DX7`z=pV+zB%qJics{d}f{w=1qpnjXC^l7 zbiTGc_4D%7^eC=lp$7As68|;4)R1__Ch?4I#w6)^a}kPpikW$elV1mXwrWnyYk;Fn zZHZ_6xKaP|52S^7_z#lOz~wL!)o=WH`M`!-Ts*7Sf~cPL2@$!hZCAsf0Se_HQ9qfN zJ?W2MzdtIp{#Mztr5VRV4dyMhxqL-hQcZO!;a0_E-I?>ARZFC$Monb1+QPwBH?SE+wI9fBnve zCvlo_2}}OytW7*^_RLEs=JpKTpF6KjSCzju!z(`b=)FwsXIHnKJ-z9Ec5UP*x3gE< z%9g~07jJD$>?;-dtaa{p(Lc>~#WnF2eRJw<+|Sw1dtfY~`M)Ccx%4sRr}F+CnjqfQ z8Bw1ij=j-7rt@?~&%~lB>OYv>P6e9Q>-==@(v;A2_k4Y4Q}4}5iNa#E7Q>ArR54V*qiLyvu67xJf`PK!#V$q%{uZ`N~UOnjXwdk0P)(mA<<)^!5 z+1pxQ4l-ERG%;@Zv_FiO1HW7iHLzv99B#nO3M!*S&Ma(7+{xNg62ItK+tXP}N4a~x z+$z*vHqE$9H;$L*_UVKrzf~^nV>tYcRbrd|feNl;;Rd;^hrjVjY%4#oVJ~yrTUmpg z_YH~F>^!%v6K>pNJp4&Z;^n`Hv+~}y8b5j3e!jVVEZI`o)2=xYinhz%OgA`#8@-8Q zaI>=awrkGRln6fvvv8etg4e%@toB*XvKAdIG+f(AdOv<*S-+ zSJ_Y7T($d^KQn~G`_`k>YxgUEXX`b`*r7t7leVf$tn|wa|C=e%U*f+k_UrP6`Y-4C z?0(h%bWhah<@u1JAZV`APv&KdU#wo8aKn<(2b8`KzR{k+%v!u6AtH}a`R?yYcNh+X z(PK@Cm1?V=PHQWJluAo>d4598^rv+bBJw_pAeD?CMe&ux)qACTLSB0!sYfnSC%%d~ ziCQYZ`NitC>a1%00RsfO)%ONZxx_Cqt=`J4UZ-?UNOWW3R#Azt=*EwtKG7G&Aq4}d zeDGNR`s$y|7v8JRE`<~r9`CQO`kB14*!pTjMAl3{(`CFpUw-PZT>t3r#ZMKxu72cs z)3Z!A^GuNS(cfF2?yKrDeWQ6y`D^GN^B6h*c*A-7l5Do_`*ynLam2mudk3a`JL)*| z<+_#VmJ>#{zc^s(Wih)?vzaQA~HqCT4avRAKf_%`nnTUz|VDM^LP-_5wfckllj ztr?f3?rk+*x^sV0`i(o$+YI+-rF#|s@0+Xn^!fESKAQIXo)EF;z!p)S zZgB}QeS@VHdy~_Db(KZ<9NaLYDbWxV?_P!fo2z8i-v%4#yi16<1C=lnbK*-xi`hY?-&t9n+13(f<)BJ9=iRwq@h^F1{?(qV zxVhf@_usw0B!jZp=U+?!8Nv@zr6b=o@!ZUThnv-RFS(|P=k`u&PnZEh z`wlr9RCkpvDcuF*WQnranTyCozm&|CIm?faOO!l}?us3f| z_sid9Y4HbTG$h2j*Cow8=<&60%ejOlRqj#G*Cj_jXLDQiRpt4?4K*BXYd1fRu#>)V zz+-FZTjR~sq?UZU`Gn1F)$FYKnt2IcKcD-*?FljWEM{LkvszQkev7et%9(Y|znlNa z#QmOA!5rLmbpFkmm-hXbICtVJHBg1J%d<;dVrAZ>N30-2KK|M`cjBvMJriH4>EBPa zKEqztHaGmBN9p7z{m&!*WF~n1lesOqGH;R$b8yj{_OdohHn&xsD#s6am`;2mA@NK? zVx`(7na`qqjT5t!P8u2n`KlnPm;zG=QpBu$)n!t0!jf4lo<%(UbrlqXt2$N8!6vbR zjJd-QT=ZDI3}n9f0R!^`8;m(Y!l2OW1c#oI<}#3WvCH<`jem1Jb2#W>IuR6Tvpk~G zK{l^72C4tX2O{UNAHF7e-}S(=)*AJ>hietZZtu}FzVy>FdCBID`fC&=Ugo^v&gN*_ z>-R+anm|v9--K%y?*BQ_Q{wl5b^bw*=PaO*GHwvjH@GC}&=nposBaMTZ{nk?rB5mv zCw}S&iT`c6_4{yrRN9AqPcPm4v2QN8?4NS&gZ`VI^$Av8`*v|HE7|tb+d8<)_tpA0 zXB^;#vDfcM>)-mk%=xoR>|J~8YZ5*G08q*$>+^aKk^f8i+;!^@iK1C6J(MfEP|yF zpE1e4K03|Htp43?$*|K6iCcLj{15)%TDCSJVlQ*sRZvCwXYO3hpP!47{XEIOK0p0N zHe+A%&z`K-gU_=f`9SFN|6k1;n0+N->_fB6h+iI+C|XJvaz=1u>m31YA1m)K^vFRAu`$Meuk zIGG-mS$kl^*G%ne>^&uElTk^YX!+wCYs4E>?Z3T$jy!2Wr9f9uMsSp}mJHW_rG0eWVsYAi|IEwn-z?vX z7r(N4Yhqx#%YJIT-ZU^%ryC{x_3IKW$H!QaEdQ`>V5s=zOH>I=M~>5{u96SVNK|omgh3(nnHg) z)!D%_*=1l)2FL_Dy&rc;U&IbYSFJ*rtB~O_Vk{)f9_C9sf^0OOcNX3052sG>3-=e@yNW5iZ*J=Ht$Dxwssp|o{!g^q^}+Cb@6G$^g}bi4R+xQSWTFA@ z(t|T!Z?Wfmrq=U%?;HD$^WteIeYB)i9%@9j^)ITNkt6*wwfE2O${9LdhyNb2i|OaR zuAM)B?ziUFiL0;t(|_}}JhAlsW(z<0)N@wvQ#bW3d#H7H#jddO9kbkDUU_!??##-n zqDlYX8`S5m{NDbxWPbft$5Q{j8?Tng&Ce>kmc4ZDRNI$IJaXaNE^6OSb3Zt_AmiJ= zt#9YXU(=p8O*b~CHY@+ivTa_ID+<5ysDIDgd*{Udv?X~A2ol6-Pc+4PfHyAr}b~gU8cV|+;iAGh0gJ8MgCv3JIXvQ`dfw8ne|&XpLvrg6vMOpqQ#w)wYASbEIi2~pMLV!>bt8Q z?cS6~Em@p-|7HEmBhMDiaa*|a&Ckg>tupm{)m-)4qiZUp`g}LfZ#($odq&u19ryd6 zQa8%5-ML*S@niX~tLLZkG2hEu5&bn_{?f%C{;1e<@hm@hC+11Fu;YEpA5Rza+wmU%2|!J9cOjU{`23|cJ_=_TTM#Q-uG|nrz|`8qOfq<4}<*^c)ILs zxAGkR`2WuS`upWolC%H+dsy$Uwr=zP%n3Gz*KeIar2cTthR;|14|x{YdDm|=c>ciE z%6xOw+Tzb$*V_HMwJ?#BTsYDRO~9A8<- zee=IIx|&Ek8P-|ftgcA6Ug z{qwJ7Cth{!&AuU$A8LN|%#`InXWjp^@5doK-Mjm4Or523*Z%hJ8y%J&hu3f3?J%Du z^FrypdveDb(>_SeR*~N+m~A#^8ThTxcGqe%8JAlzqhBaVAp>T zAgyA($M596E#C{DPh0*o{(8Lg>19vve9HXWT^m)N|8vW}RrhD@U6*N^dr5l!<;A~t z=d3$@pn7Z0q`fA_I(}d)5NsJ+p4YwzD!zO{b#XV=4X_~H&(%HDfsX_~Y0cHE4JytXIt2?ewB+akW4 zjz6)d&2sO}FV7Y~H`D&Ubk5Z8LFZ1@Yo?dV?tFA~cIfk^b3(tDoj+By_0^qktFIoe z65M0F{B`Z-n51Qbee)mAep;9Pf6ei#BIf7snl0*bracLq!?yWN?82M1N#|GoF)#Rb z&{T2S#Hr6r4r^if7A|QtSTHdTZV6y#s#+FA2O-`kahyjuM;@^a>5=g)!3&CB%V?q5Ejk$&fe zy@mPhx_SAt=l?&xH}Kkxy_2icKjzfDcmE!wd^0O8?CKxQ`>gUgQ9l&S{+rvy^L9^r z_cuMwIbHIMlW|K<;{UZJD)Z*|U*Eo{Z*xeo<(#7j?*z`7wbZuv`27>|{CZ_ZH#3Fe zb<7S}U(Gt)Q))No_-X~IT!pi1O)Sf&?TR`3*kZ1k^ZKjo^JbK6nHk=Yc>dAm$HvAx z9@(CrTE6G5rRhQ`-}dCq#%`G+`e)Xe`_2q&TEBSe=I_11ah~2cTaU-zjWXiZYk$oX z{c7z!je7O^uP-Z=^5-908F)TrL-!k2ZDZTX=Vj`J&V)VO_VB%_`J7pAwyiSB%{;xu zgg0$+ZvETNnd?38{?oGaU#|9i-Lgi>^9TNjsU23an!W7&lKS_DEcU(Jx7%p<+B@4- zXHVbm%d^6+5qG?D*R}Ghj>1EbnK(CI;HfY=l-Hcmjc6+;};?B%HIX4c@O|aA{x_8~ra_@D0&%@mb zW|x<=Ui&HZI>zU|G5d1KwEgGqcO3t<{p%g^pS-F(PxcwfaU8y)GHDs_ME;b^pYC2# zKQ}EeJb4d-@5(8`)t|ci!W*< z-}>c9s<^H0wCpocJMirEkIUYB?b=TSrGK;EzEC9k{J#C`R$bfaS#`Z+?O(^R@4bfu z=dfg^^fCB1g;vyv>22b#ZhQQ=J9EmlZAXVnI?wWO&?|%Gj+0ZrBmOr+N?*Ew>Vz$lh@82)Wa&`tORTWQZNz?T!((QWv zrohDbse9=SHAmN%OaE^8Yx5|6=bM`J>JMklejD^ozLj1x>)Hda^J_D{`>cPV^VsJ2 zVpmJ<`1yiIU%vXetXaGF;r9=#CRMHfa^;g>h286T$s@k;U9p$1xE=qhe=WDrmieYn ztd+==wnxv(kIw%;$>wGjs8*3?*lk<%H&)D8_#MaHmX@PN z-QICG`NDt1yfuz8^q!J;;KJRjO4i@pCbbtSoUd5zQ7)9f%lo%q<>_y~ZW=|jth#EZ zZE4IGuJ7v_R#BQcPj1f4t(-J->a6JLYQP5zmyqV~%yqdncbQ z$Z*=XS3dgxzqww_f8TuWIvn}$f0Xd=vz=2T&%D{{kv&I>&o+Ek(f1n5HFJKh+m`a|=hJuF z*B6PzD<|&fkFn<4+Wmgk3jcK%?w+=P5_I*|tlvhN%T_L5zUO)J8X0r8SG&I*HnqF7 z_~t5Kt|z}$O@7-+$v&6wJ*Iqrdum(Y933B_$Ta=p)qLBoPZGYDZIx($m1zq9x%JoM z{I;a-Pns<2+k4@D%KYzhd3)Vv9p3ZoP2FDY-sxxN<*i(A`ReGj8o{=v;0u>~pT^#f z*kpb5a6!!OLovTCcJ1^rw_LHj;Mpid4jZs*s}_;=>$ zt}5U9^yhI-b<_3tFAmtl*?d3fh2`Bp+u}tYG5>3R)4XCo@8r-j&QiXAr+?P7e``-u 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 zcmb2|=3oGW|3~MocBaDA_=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 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 010/114] 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 011/114] 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 012/114] 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 013/114] 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 014/114] 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 015/114] 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 016/114] 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 017/114] 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 018/114] 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 019/114] 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 020/114] 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 021/114] 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 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 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 022/114] 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 023/114] 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 024/114] 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 025/114] 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 026/114] 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 027/114] 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 028/114] 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 029/114] 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 030/114] 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 031/114] 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 032/114] 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 033/114] 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 034/114] 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 035/114] 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 036/114] 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 037/114] 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 038/114] 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 039/114] 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 040/114] 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 041/114] 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 042/114] 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 043/114] 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 044/114] 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 045/114] 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 046/114] 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 047/114] 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 048/114] 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 049/114] 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 050/114] 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 051/114] 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 052/114] 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 053/114] 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 054/114] 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 055/114] 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 056/114] 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 057/114] 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 058/114] 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 059/114] 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 060/114] 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 061/114] 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 062/114] 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 063/114] 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 064/114] 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 065/114] 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 066/114] 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 067/114] 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 068/114] 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 069/114] 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 070/114] 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 071/114] 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 072/114] 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 073/114] 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 074/114] 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 075/114] 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 076/114] 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 077/114] 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 078/114] 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 079/114] 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 080/114] 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 081/114] 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 082/114] 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 083/114] 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 084/114] #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 085/114] 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 086/114] 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 087/114] 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 088/114] 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 089/114] 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 090/114] 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 091/114] 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 092/114] 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 093/114] 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 094/114] 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 095/114] 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 zcmeAS@N?(olHy`uVBq!ia0y~yU~m9o4mJh`hEl@S$*Ib>yDC&X(rFt7)Ex;TbZ+E7F-qF-K85O@=Kx2NJB*D*CwvkgK}L8lOG*E!In3nePes) zSJwiK*WN3uCD%;8=p`w(T=r7x6w|ECSbg)IrM4=Ww>GzbnR9RUoY`h;Urzsd`02en z#l`3T|9&mAfPq!Rfsreqfk_0yyyrM!6K`C;mFwO*aS>NGh80?l7E2y?ue-nG>>-Be zZ3kC~IhQDGTWPAG&3s2L{nff9?*dJ~_vzwGpNghTo35XEsM`E@!TYrP$2gm}uQv@+3r&07 zrQ{sSS)$7~e}9Xxy`@>(#DJFBt*e9>9De=poppHM&nK(rm9FI7R^Z_t;%&Jtzq>sT8+A`zpt-+O-!`+PV$z9TVu!GW7FU zdY^ax{v#^63<0(*d1pE2?`N4>XD-X@YV5S^gnPDPxicZsS`7gGLK^ZW0bIj{N5 zg6Ho)lENl!=yK~$m+;&B|L1J3U1qFt;=b6tZZcrpKqC?k`wxy zQJXQgyLkDMRrTvn-%`+Kwwm?IhfnRo)$J*nw(sjVT3R`sZe`voy6j(*hUUes76vAJ zEF~`#rZ3cfQZ(~78_Mn;31P4sdpitqwwXzfGHMxOLOPvzw9^o4aIs{uht6S3|cve&^h|H-GK9yHCufuo)ytew^!kc+L+8Z`-#rQq!hw zes=p>!=9^5K971T9_K3yU$f!oDEaF7BI@3exz2}!o(_M~`}vw8Xj#WtgVF`mpCeYmI5#n;WU;Gmb=stw~PS zkm7XJnLWj9wr|A7n>l8aCAWlyUp#GIwIn)R`sItwopY8N{K{e4zRoP@n8)HsiR(sT zvle|{bJk3#%OSKg(>cUt&nltUAr-TNR3@Kv^$w4mmT4ud#s4m5lNd|XtIV74-X>gp z^r=_wWQ6<@=ELeUeUfHHu}@@O*fsOOtxuAH3UbqR#M8omJvz9JEz6{N)7{(CMZ%(2 zueSK;^XXV$Zy?7Tp+?bjZn*|=Zfo^7%~CM(PtXx_Hk$b)Tqo_G>As?EY>O9aH0APM z(Kz}z{k!6YApgyt|9;%8RXe%a_JnqNw$J^jhXR5b4IN_J><{Wqwu~;+_tX4#<{T44 zT$hy8=kCpq4SF~k3U(LDhl)sApGvX$wPJ46O@#?o4;N+^vSe$&$k5>0e*EO~o&YWn zq3}vJ9{tsCMYU(O)a5-XjIc0x7-R8#v%2pqzLR?xoM+^=omhI*qBw7TXTU{IUWN** z4^k;bTnr!n{gah^-fcHyw)fO?VmoF^ZDfjiaw+NI_8i~ajkmZIkH_eVm&CFwy39K9 zXiCrRXL+d$cl>;M(4L{eS^d-kjiO_MQSn1>@AIUz3 z2dh8oahz~eyfxkDx?QO1qqBjJpS+wql@S$*Ib`&$*4V#dU|{$4ba4!+xb-&5*GD)~ z=0ESWpy-$C3xXC1NO}HYGM7HAWZ1TWb5ey;3~$w|O!G&rlM`*<6kWVq@F->0-iiyh z6Bn>=$~5be@%d9G9=z!2rVR=9%eE$Kwr+3#Bxn3~w$s5+H|vdF&aS-t{onog{01hG z1q`ej4vbs@5ax|`g_PNQZr*dsT6JbaBrijQgF%~Sy@a{j@s_=Z7<{*R8vbEje<=Rj z7PgeshLbe{3<+j085j}`_wAQ(=ro`9>c-!=B%D>G z+~*!X*74uu?eXgPhMBGk63h%s{>QJg{4!VW`-#3QY-gv~^AxIHxm)$CN3rtnZQ~Xz z+s*n1WD>TO`#x)4vC=5{l>D(N_Gipit~AP*bbL3@uT^s0(F$JI7@qpX77H1%E0#H2 znZcQEK2}#Oa|$eUjy&g1ZSk4cf8v>WS&OjA>=GZZDL1^gzfXO7ry$>aW$_J>v<=eE zOOEASdf0CN@61iR%aSHHuDWF$a;Y!R)it zcb;m%qhO}b#x+yV2RDUWnr;-W$Gq%M;_`kmF7zzEfwOXJ|isXwobX6F!@}wmuy$kG<|#-tzq|X?{DJ<1|aAPq~GT zWMJZk)x9U4_b%NfJNf3_oP5Qdd*O9}egl~yOb3a)a!dvFlarXAJ=Ga`9d2Y+wm0!&T$p5>J`iJ_=keGi@Q_b|dlw1Oj zyzyZPfAyxrRs4qWDVCkba!iyy9;>|CQ0c7oCv$65gpSzJ7!468rHLM%W>TUI51w!Q z^Ypf9JAdKv%G8Fi)viht9h4?IXov)z34F9Q>g_a(T`T|F6(46i^|v1odc#Qcup#K{KtHPisz4w8|93Rjo*APN;OsS6w(V1%dZzXF`bR4WXq&|?fos* zwsW7Xs&*-`l=irP*qy2NUD30=qTOE18XKqlP<+p#T(@BHRGv!pmfkl%x0)*CZ)KQj zp&D1GpMGfDbH=}mA2Yd`Z~HKz+({y6<#Tqcs7`K$t>=n9)M-xM*2Ho4cp z#SDHP>wnx^_Qh7>_|BuQ6$~#*cJ(Y$73zGz)NuUh(H$|7y^8Nyip#E?D|S@6Yq)C; z@00KK_C_*2Zpm(jqW#Au`IyCLfBbgT%?yt0|ic(vfG7>!mGAQCtf#~Ecl@^+4D$8 zl|ZDZ)_l$_y7L8D#U?eqI`+luehnx`o?Y;$qcAq{>eHNrBf%$6TbmUrUg&1evN*lf zvF_y7eIB`u7q}WfR>+)8nH2kR$EBEGQL`R=ZZ)`Z)$K`;&F!fE#=fvgzMs;gUyDv! zo<5;g*SD+uY5_-~NrOAL?feDP56!u{W4i;#s_D}h800H?d#9d#`P^U%C&Pohwd!W8 z8J~tR&#S5LU2#)k!mmThLcPfwF8bB%6YzP~oO4z{u|dIL>T-vVQ2~kTq*>jAlQ|b@I89PXH0utYBtLt$^xHQ(pX=*0Jh*al z@rFoV$@wexRM{T>$KLL`abEJ%d*MNc?gmd%aa@00xJ#Mg%KQl4N>wSQdplEhePeAh z{P%E0&Brf(KEGr_t1TaW5>`CbQDRa0DWmQ9vg`}Ymt#KM$WYqyvQNNunvs*A4MU8@ 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 096/114] 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 097/114] 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 098/114] 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 099/114] 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 100/114] 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 101/114] 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 102/114] 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 103/114] 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 104/114] 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 105/114] 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 106/114] 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 107/114] 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 108/114] 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 109/114] 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 110/114] 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 111/114] 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 112/114] 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 113/114] 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 114/114] 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) })